package com.zwl.smartplatform.utils;


import org.springframework.util.DigestUtils;
;


import java.sql.Timestamp;
import java.util.*;

public class MD5Utils {
    private static String zifu="QWERTYUIOPLKJHGFDSAZXCVBNMqwertyuioplkjhgfdsazxcvbnm0123456789";

    private static List chars=new ArrayList();

    static {
       char[] charArray = zifu.toCharArray();
        for (char c : charArray) {//遍历放到集合中 最终变成一个集合
            chars.add(c);
        }
    }

    public static String getRandomString(int size){
       // char[] chars=zifu.toCharArray();//转成char数组
        Collections.shuffle(chars);//打乱集合 相当于我们生活中的洗牌
        Random random=new Random();
        StringBuilder stringBuilder=new StringBuilder();
        for (int i = 0; i < size; i++) {//根据传递的长度来生成指定长度的随机字符
            int index = random.nextInt(chars.size());//获取一个范围在数组长度范围呢到一个数字
            stringBuilder.append((chars.get(index)).toString());
        }
        return stringBuilder.toString();
    }

    public static String getMd5(String source , String salt ,int times){
         if (times==1){
             return DigestUtils.md5DigestAsHex((salt+source+salt).getBytes());
         }else {
             --times;
             return getMd5(getMd5(source,salt,1),salt,times);
         }
    }
}
